package StudyCode.summary.mydatetime;

import java.time.*;

/**
 * 版权所有 科技与人文(www.tah1986.com)
 */
public class OffsetDates {
	public static void main(String[] args) {
		// 创建一个 05:30 的 ZoneOffset 对象
		ZoneOffset offset = ZoneOffset.ofHoursMinutes(5, 30);

		//  获取当前 OffsetTime 对象
		OffsetTime ot1 = OffsetTime.now();
		System.out.println("当前 OffsetTime: " + ot1);

		// 创建 OffsetTime 对象
		OffsetTime ot2 = OffsetTime.of(16, 40, 28, 0, offset);
		System.out.println("OffsetTime: " + ot2);

		// 获取当前 OffsetDateTime 对象
		OffsetDateTime odt1 = OffsetDateTime.now();
		System.out.println("当前 OffsetDateTime: " + odt1);

		// 创建 OffsetDateTime 对象
		OffsetDateTime odt2 = OffsetDateTime.of(2019, 5, 11, 18, 10, 30, 0, offset);
		System.out.println("An offset datetime: " + odt2);

		// 从 OffsetDateTime 对象获取 LocalDate 跟 LocalTime 对象
		LocalDate ld1 = odt1.toLocalDate();
		LocalTime lt1 = odt1.toLocalTime();
		System.out.println("当前 LocalDate: " + ld1);
		System.out.println("当前 LocalTime: " + lt1);

		// 从 OffsetDateTime 对象获取 Instant 对象
		Instant i1 = odt1.toInstant();
		System.out.println("当前 Instant: " + i1);

		// 通过 Instant 对象创建 OffsetDateTime 对象
		ZoneId usChicago = ZoneId.of("Asia/Shanghai");
		OffsetDateTime odt3 = OffsetDateTime.ofInstant(i1, usChicago);
		System.out.println("通过 Instant 对象创建 OffsetDateTime: " + odt3);
	}
}
